package com.pactera.asmp.server.entity;

import com.pactera.asmp.server.common.utils.FastJsonUtil;
import com.pactera.asmp.server.pojo.TestReportErrorVideoInfo;

import java.time.LocalDateTime;
import java.util.List;

import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;


/**
 * @ProjectName: asmp-server
 * @Package com.pactera.asmp.server.entity
 * @ClassName: TestReportDTO
 * @Description:
 * @Date 2020/08/06 14:12
 * @Author lvzhiqiang
 * @Version 1.0
 */
public class TestReportDTO {
    @NotEmpty(message = "名称不允许为空")
    @Size(min = 1,max = 200,message = "名称长度1-200")
    private String name;
    @NotNull(message = "任务ID不允许为空")
    private Integer taskId;
    @NotNull(message = "脚本ID不允许为空")
    private Integer scriptId;
    private Integer status;
    @Size(max = 100,message = "日志文件长度0-100")
    private String logFileIndex;
    @Size(max = 100,message = "视频文件长度0-100")
    private String videoFileIndex;
    @Size(max = 1000,message = "失败Action长度0-100")
    private String action;
    @Size(max = 200,message = "失败Action执行结果长度0-200")
    private String content;
    private String bugId;
    private String bugUrl;
    private String performanceData;
    private String monkeyReport;
    private String monkeyReport2;
    private String monkeyOrder;

    private String canLogFileId;
    private String htmlReportFileId;

    private Integer count;
    //subtask_id
    private Long subtaskId;
    private LocalDateTime createTime;
    private List<TestReportErrorVideoInfo> reportErrorVideoInfos;
    private List<TestReportApplicationResponseTimeDTO> testedReport;

    public Integer getCount() {
        return count;
    }

    public void setCount(Integer count) {
        this.count = count;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public Integer getTaskId() {
        return taskId;
    }

    public void setTaskId(Integer taskId) {
        this.taskId = taskId;
    }

    public Integer getScriptId() {
        return scriptId;
    }

    public void setScriptId(Integer scriptId) {
        this.scriptId = scriptId;
    }

    public Integer getStatus() {
        return status;
    }

    public void setStatus(Integer status) {
        this.status = status;
    }

    public String getLogFileIndex() {
        return logFileIndex;
    }

    public void setLogFileIndex(String logFileIndex) {
        this.logFileIndex = logFileIndex;
    }

    public String getVideoFileIndex() {
        return videoFileIndex;
    }

    public void setVideoFileIndex(String videoFileIndex) {
        this.videoFileIndex = videoFileIndex;
    }

    public String getAction() {
        return action;
    }

    public void setAction(String action) {
        this.action = action;
    }

    public String getContent() {
        return content;
    }

    public void setContent(String content) {
        this.content = content;
    }

    public String getBugId() {
        return bugId;
    }

    public void setBugId(String bugId) {
        this.bugId = bugId;
    }

    public String getBugUrl() {
        return bugUrl;
    }

    public void setBugUrl(String bugUrl) {
        this.bugUrl = bugUrl;
    }

    public String getPerformanceData() {
        return performanceData;
    }

    public void setPerformanceData(String performanceData) {
        this.performanceData = performanceData;
    }

    public String getMonkeyReport() {
        return monkeyReport;
    }

    public void setMonkeyReport(String monkeyReport) {
        this.monkeyReport = monkeyReport;
    }

    public String getMonkeyOrder() {
        return monkeyOrder;
    }

    public void setMonkeyOrder(String monkeyOrder) {
        this.monkeyOrder = monkeyOrder;
    }

    @Override
    public String toString() {
        return FastJsonUtil.BeanToJson(this);
    }

    public Long getSubtaskId() {
        return subtaskId;
    }

    public void setSubtaskId(Long subtaskId) {
        this.subtaskId = subtaskId;
    }

    public LocalDateTime getCreateTime() {
        return createTime;
    }

    public void setCreateTime(LocalDateTime createTime) {
        this.createTime = createTime;
    }

    public List<TestReportErrorVideoInfo> getReportErrorVideoInfos() {
        return reportErrorVideoInfos;
    }

    public void setReportErrorVideoInfos(List<TestReportErrorVideoInfo> reportErrorVideoInfos) {
        this.reportErrorVideoInfos = reportErrorVideoInfos;
    }

    public List<TestReportApplicationResponseTimeDTO> getTestedReport() {
        return testedReport;
    }

    public void setTestedReport(List<TestReportApplicationResponseTimeDTO> testedReport) {
        this.testedReport = testedReport;
    }

    public String getCanLogFileId() {
        return canLogFileId;
    }

    public void setCanLogFileId(String canLogFileId) {
        this.canLogFileId = canLogFileId;
    }

    public String getHtmlReportFileId() {
        return htmlReportFileId;
    }

    public void setHtmlReportFileId(String htmlReportFileId) {
        this.htmlReportFileId = htmlReportFileId;
    }

    public String getMonkeyReport2() {
        return monkeyReport2;
    }

    public void setMonkeyReport2(String monkeyReport2) {
        this.monkeyReport2 = monkeyReport2;
    }
}
